1. Field of the Invention
This invention is generally related to digital data processing systems and more specifically to the enhancement of the performance of certain host application using a disk array storage device.
2. Description of Related Art
A disk array storage device (DASD) provides large quantities of storage, now in the terabyte range for digital processing systems. These disk array storage devices comprise many physical disk drives arranged into logical volumes or logical storage devices. Significant efforts have been undertaken and are underway to improve the overall performance and responsiveness of such disk array storage devices to various applications that a digital data processing system performs.
One application class has emerged that puts a particular strain on the resources in a disk array storage device with a consequential reduction in host application performance. Such performance reduction reflects in the interaction of the application with users. Generally speaking this class of application is characterized by requiring a logical storage device to record, as a condition precedent to the completion of a transaction, information related to that transaction.
An e-mail server is one example of such host applications. Assume an author or sender sends a message to a list of recipients. Some e-mail servers respond by producing a write transaction to the mailbox for each recipient and to other locations, such as a “sent” file or folder. Each write transaction involves multiple transfers with a storage facility, like a disk array storage device. For example, the e-mail server in some e-mail systems writes a log entry for each write transaction directed to a recipient in the e-mail data base and for other transactions. Each log entry identifies the sender, the mailbox address for the recipient and the source of the message. In some e-mail systems this log entry is a first of two log entries and indicates that data is to be written to the specified location. After the log entry is successfully completed, the server copies the message reading it from its source and writing to the recipient's mailbox. When that transfer is successfully completed, the server produces another log entry as a second entry. The log entries for the transactions are important in the case of a system failure. In that situation, the log file containing all the log entries can be analyzed to determine which previous e-mail messages have been written successfully and resend any messages that do not have both log entries.
A single dedicated logical storage device, that may reside on one or more physical disk drives normally stores all the log entries for the e-mail server. Also each mailbox in a disk array storage device may either reside on its own logical storage device or reside with other mailboxes on a logical storage device. In such applications, the connection between the server and the disk array storage device is usually a shared resource, such as a resource that includes a SCSI interface. Once the transaction to write the log device is sent, the disk array storage device and server are essentially disconnected until the log device completes recording the log entry. Then the log device reconnects so that the host application can complete the transaction or continue to perform added task functions. Such a disconnection and reconnection also occurs with write transfers and certain other transactions.
In e-mail systems with many users, writing entries to the log device can produce a bottleneck particularly when a single e-mail message is written to a large number of recipients on an e-mail list so that a large number of write operations are directed to the log device. Response times increase and can become evident in the form of prolonged response times for the user of the host applications.